home *** CD-ROM | disk | FTP | other *** search
- property pMenuObjList, pBank1List, pBank2List, pBank3List, pPopupIndexList, pOverlaySprites, pHilitableSprites, pPoppedMenu, pSelection, pBankStatusList
-
- on getPopup me, channelNum
- if channelNum <= count(pMenuObjList) then
- result = getAt(pMenuObjList, channelNum)
- else
- result = 0
- end if
- return result
- end
-
- on getPoppedMenu me
- return pPoppedMenu
- end
-
- on setPoppedMenu me, menuObj
- global gSearchObj
- pPoppedMenu = menuObj
- if objectp(menuObj) then
- disable(getFindButtonObj(gSearchObj))
- disable(getclearAllButtonObj(gSearchObj))
- else
- if (getBankStatus(me, 1) <> #incomplete) and (getBankStatus(me, 2) <> #incomplete) and (getBankStatus(me, 3) <> #incomplete) then
- enable(getFindButtonObj(gSearchObj))
- enable(getclearAllButtonObj(gSearchObj))
- end if
- end if
- end
-
- on getMenuSelection me, bankNumber, menuKind
- index = getMenuChannel(me, bankNumber, menuKind)
- popupObj = getPopup(me, index)
- selection = getSelection(popupObj)
- return selection
- end
-
- on getMenuText me, bankNumber, menuKind
- index = getMenuChannel(me, bankNumber, menuKind)
- popupObj = getPopup(me, index)
- menuText = getText(popupObj)
- return menuText
- end
-
- on getMenuChannel me, bankNumber, menuKind
- case bankNumber of
- 1:
- case menuKind of
- #criteria:
- channel = 4
- #selection:
- channel = 6
- #clear:
- channel = 8
- end case
- 2:
- case menuKind of
- #andOr:
- channel = 10
- #criteria:
- channel = 12
- #selection:
- channel = 14
- #clear:
- channel = 16
- #add:
- channel = 17
- end case
- 3:
- case menuKind of
- #andOr:
- channel = 19
- #criteria:
- channel = 21
- #selection:
- channel = 23
- #clear:
- channel = 25
- #add:
- channel = 26
- end case
- end case
- return channel
- end
-
- on getMenuObj me, bankNumber, menuKind
- index = getMenuChannel(me, bankNumber, menuKind)
- return getAt(pMenuObjList, index)
- end
-
- on new me
- pMenuObjList = []
- pPopupIndexList = [4, 6, 10, 12, 14, 19, 21, 23]
- pOverlaySprites = [37, 38, 39, 41, 42, 44, 45, 46]
- pHilitableSprites = [37, 38, 39, 42]
- pSelection = 0
- pBankStatusList = [#inProgress, #hidden, #hidden]
- pBank1List = [4, 6, 8]
- addAt(pMenuObjList, 4, new(script("criteria popup"), [4, 5], 1))
- addAt(pMenuObjList, 6, new(script("selection popup"), [6, 7], 1))
- addAt(pMenuObjList, 8, new(script("clear button"), [8], 1))
- pBank2List = [10, 12, 14, 16, 17]
- addAt(pMenuObjList, 10, new(script("and/or popup"), [10, 11], 2))
- addAt(pMenuObjList, 12, new(script("criteria popup"), [12, 13], 2))
- addAt(pMenuObjList, 14, new(script("selection popup"), [14, 15], 2))
- addAt(pMenuObjList, 16, new(script("clear button"), [16], 2))
- addAt(pMenuObjList, 17, new(script("add button"), [17], 2))
- pBank3List = [19, 21, 23, 25, 26]
- addAt(pMenuObjList, 19, new(script("and/or popup"), [19, 20], 3))
- addAt(pMenuObjList, 21, new(script("criteria popup"), [21, 22], 3))
- addAt(pMenuObjList, 23, new(script("selection popup"), [23, 24], 3))
- addAt(pMenuObjList, 25, new(script("clear button"), [25], 3))
- addAt(pMenuObjList, 26, new(script("add button"), [26], 3))
- return me
- end
-
- on Inscope me
- pSelection = 0
- repeat with n in pOverlaySprites
- puppetSprite(n, 1)
- end repeat
- repeat with popupObj in pMenuObjList
- if objectp(popupObj) then
- Inscope(popupObj)
- end if
- end repeat
- case getBankStatus(me, 2) of
- #hidden:
- hideBank(me, 2)
- #add:
- showMe(getMenuObj(me, 2, #add))
- end case
- case getBankStatus(me, 3) of
- #hidden:
- hideBank(me, 3)
- #add:
- showMe(getMenuObj(me, 3, #add))
- end case
- end
-
- on outScope me
- if objectp(pPoppedMenu) then
- contract(pPoppedMenu)
- end if
- repeat with n in pOverlaySprites
- puppetSprite(n, 0)
- end repeat
- repeat with popupObj in pMenuObjList
- if objectp(popupObj) then
- outScope(popupObj)
- end if
- end repeat
- end
-
- on doRollover me
- rolloverSprite = the rollOver
- mLine = the mouseLine
- if getPos(pHilitableSprites, rolloverSprite) > 0 then
- if mLine > 0 then
- memNum = the memberNum of sprite rolloverSprite
- if memNum > 0 then
- if pSelection <> mLine then
- normalColor = color(#paletteIndex, 255)
- hiliteColor = 210
- member(memNum).color = normalColor
- pSelection = mLine
- set the foreColor of line pSelection of field memNum to hiliteColor
- end if
- end if
- end if
- end if
- end
-
- on getFirstDisabledPopup me
- repeat with menuIndex in pPopupIndexList
- popupObj = getAt(pMenuObjList, menuIndex)
- if isVisible(popupObj) and isdisabled(popupObj) then
- disabledMenuIndex = menuIndex
- disabledPopupObj = popupObj
- exit repeat
- end if
- end repeat
- return disabledPopupObj
- end
-
- on idleMenuBank me
- global gSearchObj
- if getPoppedMenu(gSearchObj) = 0 then
- popupObj = getFirstDisabledPopup(me)
- if objectp(popupObj) then
- enable(popupObj)
- expand(popupObj)
- else
- if (getBankStatus(me, 1) <> #incomplete) and (getBankStatus(me, 2) <> #incomplete) and (getBankStatus(me, 3) <> #incomplete) then
- object = getFindButtonObj(gSearchObj)
- if disabled(object) then
- enable(object)
- end if
- object = getclearAllButtonObj(gSearchObj)
- if disabled(object) then
- enable(object)
- end if
- end if
- end if
- end if
- end
-
- on getBankStatus me, bankNum
- return getAt(pBankStatusList, bankNum)
- end
-
- on setBankStatus me, bankNum, status
- setAt(pBankStatusList, bankNum, status)
- end
-
- on hideBank me, bankNum
- case bankNum of
- 1:
- bankList = pBank1List
- 2:
- bankList = pBank2List
- 3:
- bankList = pBank3List
- end case
- repeat with popupIndex in bankList
- popupObj = getAt(pMenuObjList, popupIndex)
- if objectp(popupObj) then
- hideMe(popupObj)
- end if
- end repeat
- setBankStatus(me, bankNum, #hidden)
- end
-
- on showBank me, bankNum
- case bankNum of
- 1:
- bankList = pBank1List
- 2:
- bankList = pBank2List
- 3:
- bankList = pBank3List
- end case
- repeat with popupIndex in bankList
- popupObj = getAt(pMenuObjList, popupIndex)
- if objectp(popupObj) then
- showMe(popupObj)
- end if
- end repeat
- setBankStatus(me, bankNum, #inProgress)
- end
-
- on deleteBank me, bankNum
- case getBankStatus(me, bankNum) of
- #hidden:
- nothing()
- #add:
- hideMe(getMenuObj(me, bankNum, #add))
- setBankStatus(me, bankNum, #hidden)
- #complete, #inProgress:
- if bankNum = 3 then
- clearBank(me, bankNum)
- hideBank(me, bankNum)
- else
- case getBankStatus(me, bankNum + 1) of
- #hidden:
- clearBank(me, bankNum)
- if bankNum > 1 then
- hideBank(me, bankNum)
- end if
- #add:
- hideMe(getMenuObj(me, bankNum + 1, #add))
- setBankStatus(me, bankNum + 1, #hidden)
- clearBank(me, bankNum)
- if bankNum > 1 then
- hideBank(me, bankNum)
- end if
- #complete, #inProgress:
- copyBank(me, bankNum + 1, bankNum)
- deleteBank(me, bankNum + 1)
- end case
- end if
- end case
- end
-
- on clearBank me, bankNum
- if bankNum > 1 then
- clear(getMenuObj(me, bankNum, #andOr))
- end if
- clear(getMenuObj(me, bankNum, #criteria))
- clear(getMenuObj(me, bankNum, #selection))
- setBankStatus(me, bankNum, #inProgress)
- end
-
- on copyBank me, srcBank, destBank
- setBankStatus(me, destBank, getBankStatus(me, srcBank))
- if (srcBank <> 1) and (destBank <> 1) then
- copyMenu(me, srcBank, destBank, #andOr)
- end if
- copyMenu(me, srcBank, destBank, #criteria)
- copyMenu(me, srcBank, destBank, #selection)
- end
-
- on copyMenu me, srcBank, destBank, menuKind
- srcPopupObj = getMenuObj(me, srcBank, menuKind)
- destPopupObj = getMenuObj(me, destBank, menuKind)
- clone(destPopupObj, srcPopupObj)
- end
-